package com.zr.d_c.service;

import java.util.List;

import com.zr.d_c.model.Func;

import net.sf.json.JSONArray;
/**
 * 功能的相关服务
 * @author Administrator
 *
 */
public interface FuncService {

	/**
	 * 获取当前用户功能列表
	 * @param parentid 父id
	 * @param rid 角色id
	 * @return 返回对应的json数组
 	 */
	public JSONArray getCurrentUserFuncsByPartentId(int parentid, int rid);
	
	/**
	 * 通过父id得到所有的功能信息，并对对应角色的功能id进行标记
	 * @param parentid 父id
	 * @param ids 对应角色功能id的字符串
	 * @return json数据格式的功能信息
	 */
	public JSONArray getAllFuncsByPartentId(int parentid, int rid);
	
	/**
	 * 通过父id得到所有的功能信息
	 * @param parentid 父id
	 * @return json数据格式的功能信息
	 */
	public JSONArray getAllFuncsByPartentId(int parentid);
	
	/**
	 * 通过功能名字得到功能信息
	 * @param fname 功能名字
	 * @return 功能信息
	 */
	public Func getFuncByFname(String fname);
	
	/**
	 * 通过功能名字删除功能
	 * @param fname 功能名字
	 * @return 1成功  0失败
	 */
	public int deleteFuncByFname(String fname);
	
	
	/**
	 * 添加功能
	 * @param f 功能的信息
	 * @return 1成功  0失败
	 */
	public int addFunc(Func f);
	
	/**
	 * 得到所有的功能信息
	 * @return 功能信息的集合
	 */
	public List<Func> getAllFunc();
	
	/**
	 * 得到所有的有子功能的一级功能
	 * @return 一级功能信息的集合
	 */
	public List<Func> getFirstFunc();
	
	/**
	 * 得到所有非一级功能
	 * @return 非一级功能信息的集合
	 */
	public List<Func> getNotFirstFunc();
}
